Coding Style
Code Style关注最终的代码,而Coding Style关注编码的过程。
什么是Coding Style?
我们提Code Style已经很多年了,大家都已经对代码的质量有了足够的重视,我们也有lint这样的静态分析工具,有代码评审这样的活动来保证我们提交的代码符合规范。 但是,程序员是一个有追求的群体,我们能写出好的代码就够了吗? 达到同样的产出,不同的程序员花费的时间相差10倍以上,写代码的过程是否优雅与舒适、是否高效将是我们下一个追求的目标。
如今,Coding Style已经开始被企业重视,在面试过程中你可能需要与面试官一起完成某个功能。 比如在ThougthWorks的面试中,你需要先通过Homework的Review,这一阶段面试官考察的是你的Code Style;然后你会被邀请到办公室里,与面试官一切结对,对之前的代码进行重构,并完成一个新增的需求。在这个阶段,被考察的是你分析问题、解决问题、编写代码的思路与过程,也就是我所说的Coding Style。
除了代码产出,老板有考虑过你编码时的环境与感受么?
招10万年薪的程序员然后给他用2000块钱的电脑的老板比比皆是。 在一些传统行业,连龙头企业都还在给开发人员使用17寸的显示器,2G内存的PC做开发。 还要求我们能快速开发,尽快上线以获取商业价值? 这种糟糕的环境和项目进度压力:
- 导致我们放弃了对代码质量的追求
- 导致我们在编码时完全享受不到创造的乐趣
- 导致我们无休止的加班
- 导致我们没有时间提高自己的技能
- 导致我们的腰椎和颈椎每况愈下
- 导致我们年纪轻轻却有一头稀疏的花白头发
正是这种对开发人员的不够尊重,导致了很多因为兴趣走上开发道路的程序员不得不转向管理或其它岗位。 他们去卖水果,去卖肉夹馍,他们身体好了,钱挣的更多了,但他们真的快乐吗?
如果自己都不尊重自己,别人怎么会尊重你?
但我认识的很多优秀的程序员,他们没有屈服于现状。 他们知道__身体是革命的本钱__,因为他们想一辈子快乐地编程。 而且他们懂得__时间是最重要的成本__,他们知道什么才是回报率最高的投资。 所以他们给自己买:
- 人体工学椅子 - 保护自己的腰椎
- 高清大显示器 - 使用多显示器或分屏提高开发效率
- 机械键盘、电容键盘 - 享受代码从指尖流出的感觉
- MacBook - 每个程序员都应该使用,一旦拥有、爱不释手
- 固态硬盘 - 提高文件读写速度,大大提高编译,打包速度
- 耳机 - 在任何地方旁若无人地工作
- 效率软件,Alred、Dash等 - 让你把精力放在真正的编程上而不是翻遍整个硬盘找某个文件,用龟速网络在网络上查文档
他们利用业余时间:
- 观看编程的视频 - 看高手如何演进代码
- 刻意练习自己的技能,快捷键、重构、TDD等 - 不断提升自己的硬实力
- 参加社区活动,Coding Dojo,Code Retreat等 - 与高手当面交流
- 参与开源,将自己的代码暴露出来 - 接受高手Review
- 录视频,将自己的编码习惯暴露出来 - 得到高手的指正
他们不断追求效率的提升,本质是因为:
他们真心喜欢并享受Coding带来的乐趣。
然后他们无一例外,或升职加薪,或创业,或去了更优秀并且更尊重程序员的公司。
如何改进Coding Style?
在Coding Style社区网站,我们分享并讨论以下内容:
硬件
椅子、键盘、MacBook、耳机的购买与使用心得。 我们需要打造一个适合编程的环境,先让身体得到愉悦,才能专心地享受编程的乐趣。
软件
效率软件、适合编程的音乐、更好地使用编辑器。 除了硬件,我们还需要一个适合编程的软件环境,关掉IM,关掉邮件客户端,使用Dash查文档,使用duckduckgo解决问题,使用Alfred快速在多个程序间进行切换。
视频
相信很多人都在看高手的视频时有过这样的经历:“哇,原来还可以这样啊!” 观察高手写代码的过程往往比看最终代码更受启发。 另一方面,将你的过程录制下来,接受高手的指点,改变一个习惯,你就有可能受益终身。
活动
如果能与高手面对面交流甚至结对编程,一定会受益终身。 什么?你的公司里没有高手?或者有高手,但不被允许进行结对编程? 没关系,你可以走出公司,来参加我们组织的程序员线下活动。
我们的使命!
帮助程序员更好地对自己投资! 尝试改变企业对程序员不够重视的现状! 让优秀的程序员去优秀的企业!
这是一个只属于程序员的社区,需要我们共同来建设,欢迎大家提出建议。